package com.turing.post.account.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

@Remote
@Local
public interface OnlineLoadDetailDao {

	/**
	 * 根据流水号,获取联机圈存明细
	 * 
	 * @param loadSeqNo
	 * @return
	 */
	public OnlineLoadDetail getOnlineLoadDetailByLocalSeqNo(String loadSeqNo);

	/**
	 * 新增
	 * 
	 * @param oldobj
	 * @throws PCPSApplicationException
	 */
	public void insert(OnlineLoadDetail oldobj) throws PCPSApplicationException;

	/**
	 * 更新
	 * 
	 * @param oldobj
	 * @throws PCPSApplicationException
	 */
	public void update(OnlineLoadDetail oldobj) throws PCPSApplicationException;

	/**
	 * 更新(在单独的事务中)
	 * 
	 * @param oldobj
	 * @throws PCPSApplicationException
	 */
	public void updateCommit(OnlineLoadDetail oldobj)
			throws PCPSApplicationException;

	/**
	 * 根据查询条件查询 获取联机圈存明细列表
	 * 
	 * @param webInput
	 * @param loadSeqNo
	 * @param saleBranchNo
	 * @param startTime
	 * @param endTime
	 * @param tranType
	 * @param status
	 * @return
	 */
	public List<OnlineLoadDetail> getOnlineLoadDetailList(
			PCPSWebInput webInput, String loadSeqNo, String cardNo,
			String saleBranchNo, String startTime, String endTime,
			String tranType, String status, Integer page);

	/**
	 * 根据查询条件查询 获取联机圈存明细总数
	 * 
	 * @param webInput
	 * @param loadSeqNo
	 * @param saleBranchNo
	 * @param startTime
	 * @param endTime
	 * @param tranType
	 * @param status
	 * @return
	 */
	public BigInteger getOnlineLoadDetailTotal(PCPSWebInput webInput,
			String loadSeqNo, String cardNo, String saleBranchNo,
			String startTime, String endTime, String tranType, String status);

}
